package model;
 
public abstract class Producto {
	protected long productoId;
	
	protected String codigo;
	protected String nombre;
	protected int cantidadStock;
	
	/* estos dos campos se usan para la vista de creacion de conjuntos y Facturacion*/
	private boolean isSelected;
	private int cantidad;
	
	public Producto(String codigo, String nombre, int cantidadStock) {
		this.codigo = codigo;
		this.nombre = nombre;
		this.cantidadStock = cantidadStock;
	}

	public abstract float obtenerPrecio();
	
	public void descontarDeStock(int vendido){
		cantidadStock -= vendido;
	}

	public long getProductoId() {
		return productoId;
	}

	public void setProductoId(long productoId) {
		this.productoId = productoId;
	}
	
	public String getCodigo() {
		return codigo;
	}
	
	public boolean hasCodigo(String codigo) {
		return this.codigo.equals(codigo);
	}

	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public int getCantidadStock() {
		return cantidadStock;
	}

	public void setCantidadStock(int cantidadStock) {
		this.cantidadStock = cantidadStock;
	}
	
	public boolean puedoVender(int cantidad) {
		return cantidadStock >= cantidad;
	}
	
	public void setCantidad(int cantidad) {
		this.cantidad = cantidad;
	}
	
	public int getCantidad() {
		return cantidad;
	}
	
	public boolean isSelected() {
		return isSelected;
	}
	
	public void setSelected(boolean isSelected) {
		this.isSelected = isSelected;
	}
	
	public String toString() {
		return "Codigo: " + codigo+" nombre: "+nombre+"  stock: "+cantidadStock;
	}
	
	
	
}